With the increasing use of computing devices such as mobile phones (e.g. smartphones), tablet computers, notebook computers, desktop computers and the fact that a single user owns and uses a plurality of such devices, the quick and simple transfer of information between such computing devices (e.g. between any kind of applications running on two different computing devices) is often needed or desired.
Typically, software applications do not share a common communication interface or protocol. Thus, it may not be possible to directly exchange information between software applications running on different computing devices if the software applications have not been specifically designed to support this.
For transferring data from a first application (also referred to as source application) running on a first computing device (also referred to as source device) to a second application (also referred to as destination application) running on a second computing device (also referred to as destination device), the following mechanisms may for example be used:
1) File export/import: Data is exported from the source application into a file in the source device, the file is transferred from the source device to the destination device and the file is imported into the destination application in the destination device. The transfer of the file can for example be performed through a) a physical storage device (e.g. a USB Memory, a Memory Card, an external hard disk, etc.) or b) through a data communication link (USB cable, Ethernet Cable, Bluetooth, WLAN, Internet, etc.) using a file transfer application or a messaging application.
This, however, requires file storage availability: Due to file storage limitations or permission constraints this might not be possible. Further, this requires extra steps for the user: find a location to create the file in the source device file system, open a file transfer or messaging application, finding the transferred file it in the destination device file system. Additionally, this approach typically creates temporary files in source and destination device that the user has to take care of cleaning. The files created in the source device and the destination device may introduce security and privacy problems. Even if they are deleted by the user it is possible to recover deleted files from storage media.
2) Embedding the data into a message (Email, Chat or similar): The user exports (copies) the data from the source application to the clipboard of the operating system of the source device. A communication application (e.g. an email client) is opened and the data is imported (e.g. pasted) into a message (e.g. an email message). The message is sent, e.g. to the user's own email address or to another address. The user opens the messaging application in the destination device and copies the data into the clipboard of the operating system of the destination device. Then in the destination application a paste operation may be used to supply the data to the destination application running on the destination device.
This approach requires connectivity to a central messaging server from both the source device and the destination device. If this server is remote this might incur extra costs for the user. Messaging Internet servers are typically operated by 3rd party companies and it is typically difficult to ensure the security and privacy of messages sent through them. Message encryption may thus be needed adding extra steps for the user. Additionally, for example the user may have to delete later the message from their sent or inbox messaging application folders.
3) Cloud bulletin board: The user copies data from a source application to a bulletin board desktop or web application. The data is stored in a cloud server (e.g. typically a server in the Internet). The user opens the bulletin board application in the destination device and copies the data into the local clipboard of the operating system of the destination device.
This approach requires connectivity to the cloud server. Connectivity might not be available on remote or crowded areas (e.g. in a stadium). Further, this approach requires accepting a contract with a 3rd party cloud service provider. Additionally, costs might be incurred for big data amounts. Further, the security and privacy of the data may not be ensured such that the user may be required to take extra steps to encrypt and decrypt the data.